package com.leetcode.BinaryTree;

//对称二叉树
public class lc_101 {
    public static void main(String[] args) {

    }

    public boolean isSymmetric(TreeNode root) {
        //思路:要传入两个参数,root.left和root.right,而且val要相等
        //树对称的条件:左树的左孩子和右树的右孩子对称,左树的右孩子和右树的左孩子对称\
        return judge(root.left, root.right);
    }

    //1.传入参数,两个参数,返回boolean型参数
    public static boolean judge(TreeNode l, TreeNode r) {
        //2.边界条件:
        if (l == null && r == null) return true;
        if (l == null || r == null) return false;
        if (l.val != r.val) return false;

        if (judge(l.left, r.right) && judge(l.right, r.left)) {
            return true;
        } else {
            return false;
        }
    }

}

